霍格沃兹测试开发

Headers/Cookie 处理

霍格沃兹测试开发

ceshiren.com

目录

  • HTTP Headers
  • HTTP Cookie

Headers 简介

  • HTTP Headers 也叫做 HTTP 消息头
  • 允许客户端和服务器传递附加信息
  • 由名称、冒号、具体的值组成

设置请求 Headers

  • 设置 User-Agent 示例
package ch09;

import io.restassured.RestAssured;
import org.junit.jupiter.api.Test;

import static io.restassured.RestAssured.given;

public class TestHeader {

    @Test
    void testSetHeader() {

        // 配置本地代理,方便监听请求信息
        RestAssured.proxy = host("localhost").withPort(8888);

        given()
                .header("User-Agent", "hogwarts")  // 设置请求头
                .relaxedHTTPSValidation()  // 忽略HTTPS校验
        .when()
                .get("https://httpbin.ceshiren.com/get")  // 发送请求
        .then()
                .log().all()  // 打印完整响应信息
                .statusCode(200);  // 响应断言
    }
}
  • Cookie 使用场景
  • 添加 Cookie 的两种方式
    • 通过 header() 方法
    • 通过 cookie() 方法

  • 通过 header() 方法
import org.junit.jupiter.api.Test;

import static io.restassured.RestAssured.given;

public class TestCookieByHeader {

    @Test
    void testAddCookieByHeader() {

        // 配置本地代理,方便监听请求信息
        RestAssured.proxy = host("localhost").withPort(8888);

        // 通过header()方法设置Cookie
        given()
                .header("Cookie", "my_cookie1=hogwarts")  // 设置Cookie
                .relaxedHTTPSValidation()  // 忽略HTTPS校验
        .when()
                .get("https://httpbin.ceshiren.com/get")  // 发送请求
        .then()
                .log().all()  // 打印完整响应信息
                .statusCode(200);  // 响应断言
    }
}
  • 通过 cookie() 方法
package ch09;

import org.junit.jupiter.api.Test;

import static io.restassured.RestAssured.given;

public class TestCookie {

    @Test
    void testAddCookie() {

        // 配置本地代理,方便监听请求信息
        RestAssured.proxy = host("localhost").withPort(8888);

        // 添加单个Cookie
        given()
                .cookie("my_cookie", "hogwarts")  // 设置Cookie
                .relaxedHTTPSValidation()  // 忽略HTTPS校验
        .when()
                .get("https://httpbin.ceshiren.com/get")  // 发送请求
        .then()
                .log().all()  // 打印完整响应信息
                .statusCode(200);  // 响应断言
    }
}